// map.js
import qqmap from '../../../untils/getLocation'
Page({
  data: {
    polyline: [],
    latitude: '',
    longitude: '',
    markers: [],
    repairInfo: [],
    status: ['已取消', '受理中', '上门中', '已完成'],
    statusColor: ['cancel', 'info', 'success', 'complete'],
  },
  async onLoad(params) {
    const { id } = params
    const { code, data } = await wx.http.get(`/repair/${id}`)
    if (code === 10000) {
      this.setData({
        repairInfo: data,
      })
      console.log(this.data.repairInfo)
    } else {
      wx.utils.toast('保修信息获取失败！')
    }
    const { latitude, longitude } = await wx.getLocation()
    this.setData({
      latitude,
      longitude,
    })
    const markers = [{ id: 1, latitude, longitude, width: '20', height: '30' }]
    this.setData({
      markers,
    })
    if (this.data.repairInfo.status === 2) {
      const server = {
        id: 0,
        latitude: latitude - 0.002,
        longitude: longitude - 0.002,
        width: '20',
        height: '30',
        iconPath: '/static/images/marker.png',
      }
      const markers = [{ id: 1, latitude, longitude, width: '20', height: '30' }, server]
      this.setData({
        markers,
      })
      const that = this
      qqmap.direction({
        mode: 'bicycling',
        from: `${this.data.markers[0].latitude},${this.data.markers[0].longitude}`,
        to: `${this.data.markers[1].latitude},${this.data.markers[1].longitude}`,
        success: function (res) {
          let coors = res.result.routes[0].polyline // 获取未解压的路线数据
          let pl = [] // 定义空数据用来存储解压后的路线数据
          //坐标解压（下方解压代码属于官方提供的固定写法）
          var kr = 1000000
          for (let i = 2; i < coors.length; i++) {
            coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr
          }
          //将解压后的坐标放入点串数组pl中（下方代码属于官方提供的固定写法）
          for (let i = 0; i < coors.length; i += 2) {
            pl.push({ latitude: coors[i], longitude: coors[i + 1] })
          }
          //将解压后得到的路线数据pl作为map组件所需的polyline中对象元素的points的值
          that.setData({
            polyline: [
              {
                points: pl, // 路线规划数据
                color: '#79bbff', // 路线颜色
                width: 4, // 路线宽度
              },
            ],
          })
        },
        // 调用失败后执行的函数
        fail: function (error) {
          console.error(error)
        },
        // 调用成功后执行的函数
        // complete: function (res) {
        //   console.log(res)
        // },
      })
    }
  },
  modifyInfo() {
    const Info = JSON.stringify(this.data.repairInfo)
    wx.redirectTo({
      url: `/repair_pkg/pages/form/index?type=modify&Info=${Info}`,
    })
  },
  cancelInfo() {
    wx.showModal({
      title: '',
      content: '是否取消该项目报修',
      complete: (res) => {
        if (res.confirm) {
          wx.http.put(`/cancel/repaire/${this.data.repairInfo.id}`)
          wx.utils.toast('取消成功!')
          wx.navigateBack({
            delta: 1, // 回退前 delta(默认为1) 页面
          })
        }
      },
    })
  },
})
